Subject: Re: Your mission, should you choose to accept it. . .
I think that NeXT's use of objective C should be just one factor in guiding the GNU objective C project. The fact of the matter is that NeXT's implementation of objective C can be improved upon and interface compatibility can be more or less maintained. Here are some things which I think can and should be improved.
[moved PROTOCOL IMPROVEMENT]
ERROR HANDLING:
NeXT has half heartedly implemented an "Exception Handling" facility.
It basically consists of some macros, and the use of setjmp() and
longjmp(). An error handling facility should be specified,
implemented, and adhered to throughout the runtime system. One of my
biggest complaints about the NeXT objective C runtime system is their
adhoc and inconsistent approach to errors. We can do a lot better
here. NeXT's method for signalling and handling exceptions would be
acceptable if it was consistently used, and documented throughout
their system. Nevertheless, even better would be to have a real error
handling facility incorporated into the GNU objective C runtime
library more akin to those found in Lisp object oriented extensions.
Has anyone done any work on this for an objective C environment?
[moved BETTER RUNTIME SUPPORT FOR MULTI-THREADED PROGRAMS]